package ltd.dujiabao.reserver.service;

import org.springframework.stereotype.Service;

import lombok.extern.slf4j.Slf4j;
import ltd.dujiabao.reserver.constant.Constant;
import ltd.dujiabao.reserver.util.CosClientUtils;
import ltd.dujiabao.reserver.util.StringUtils;

/**
 * @author : DuJiabao
 * @Project : reserver
 * @Time : 2021/11/5 23:21
 * @Desc : 对象存储服务
 */
@Service
@Slf4j
public class ObjectStorageService {
    /**
     * 将文件上传到对象存储中，并返回该文件的url
     *
     * @param filePath    本地文件路径
     * @param keyInBucket 在存储桶中的key，可以通过该key在存储桶中存取文件
     * @return 保存到对象存储中的文件，对应的url
     */
    public String doUploadCodeFile(String filePath, String keyInBucket) {
        String url = CosClientUtils.doUploadAndGetUrl(filePath, Constant.secretId, Constant.secretKey, Constant.regionName,
                Constant.bucketName, keyInBucket);
        if (!StringUtils.isNullOrEmpty(url)) {
            log.info("Uploading code file successfully, Url: {}", url);
            return url;
        }
        log.warn("Uploading code file fail.");
        return url;
    }
}
